local sk__gucheng = fk.CreateSkill {

  name = "sk__gucheng",

  tags = { Skill.Compulsory, },

}



sk__gucheng:addEffect(fk.TargetSpecified, {
  name = "sk__gucheng",
  anim_type = "defensive",
  can_trigger = function(self, event, target, player, data)
    return player:hasSkill(sk__gucheng.name) and target ~= player and data.to == player and
      (data.card.type == Card.TypeBasic or data.card:isCommonTrick()) and
      #player.room.logic:getEventsOfScope(GameEvent.UseCard, 1, function(e)
        local use = e.data
        return use.from == player and use.card.trueName == data.card.trueName
      end, Player.HistoryGame) == 0
  end,
  on_use = function(self, event, target, player, data)
    data.nullified = true
  end,
})

return sk__gucheng